    Application :: Application():
	FrameListener(),
#ifdef USE_BULLET
	raycallback(btVector3(0,0,0),btVector3(0,0,0)),
#endif
	diagnose_vect(),
	diagnose_float()
{
	configfile = new ConfigFile;
    root = new Root(
#ifdef _DEBUG
    PATH PLUGIN_SUFFIX("conf/plugins_d")
#else	 
    PATH PLUGIN_SUFFIX("conf/plugins")
#endif
    , PATH "conf/Ogre.cfg", PATH "conf/Ogre.log");
	configfile -> load(PATH "conf/gameconf.cfg");
	if(root -> restoreConfig() == false)
		if (root -> showConfigDialog() == false)
			exit (0xdeadbeef);

	window	 = root -> initialise(true, "Zevil");
	scmgr	 = root -> createSceneManager(GetScMgrType());
	camera	 = scmgr -> createCamera("Camera");
	viewport = window -> addViewport(camera);
	n_root = scmgr -> getRootSceneNode();
	/* changing some settings */
	LOGMSG("------- configuring some misc. parameters -------");
	camera -> setNearClipDistance(1);
	camera -> setAspectRatio
		(Real(viewport -> getActualWidth())/ Real(viewport -> getActualHeight()));
	root -> addFrameListener(this);

}
